package com.ruoyi.iot.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 设备数据对象 iot_device_data
 *
 * @author ruoyi
 * @date 2025-02-27
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class IotDeviceData extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 数据ID
     */
    private Long dataId;

    /**
     * 设备ID
     */
    private Long deviceId;
    /**
     * 设备名称
     */
    @Excel(name = "设备名称")
    private String deviceName;

    /**
     * 设备编码
     */
    @Excel(name = "设备编码")
    private String deviceCode;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    private String productName;

    /**
     * 产品编码
     */
    @Excel(name = "产品编码")
    private String productCode;

    /**
     * 属性名称
     */
    @Excel(name = "属性名称")
    private String attributeName;

    /**
     * 属性编码
     */
    @Excel(name = "属性编码")
    private String attributeCode;

    /**
     * 属性数据类型
     */
    @Excel(name = "属性数据类型")
    private String attributeType;

    /**
     * 属性单位
     */
    @Excel(name = "属性单位")
    private String attributeUnit;

    /**
     * 上报时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "上报时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime reportTime;

    /**
     * 属性数据值
     */
    @Excel(name = "属性数据值")
    private String dataValue;

    /**
     * 删除标志
     */
    private String delFlag;

    /**
     * 收集批次ID
     */
    private Long collectId;
}
